^(bitwise XOR)
تقوم بعمل (أو المقصورة),ولشرح عمل أو المقصورة يجب
أولا شرح عمل أو.
أوbitwise OR
تستخدم أو لاختيار أحد الشرطين أو كلاهما ,مثل:
*احضر البرتقال أو اليوسفي.
الجملة السابقة تعني انك سوف تحضر إما البرتقال أو
اليوسفي ,فإذا وجدت البرتقال فقط في السوق فإن الشرط
يتحقق ,وإذا وجدت اليوسفي فقط فإن الشرط أيضا يتحقق ,وإذا وجدتهما معا يتحقق الشرط
أيضا,أما إن لم تجد البرتقال ولا اليوسفي فإن الشرط لا يتحقق,لأنك لن تستطيع إحضار
أيا منهما ,والجدول التالي يوضح مفهوم عمل أو
بالنسبة للحاسب بعيدا عن البرتقال و اليوسفي:
|
z |
y |
x |
|
1 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|
0 |
0 |
0 |
حيث x ,y, z ثلاث متغيرات من نوع Boolean ,و z هي ناتج العملية التالية:
x ^ y
ونلاحظ أن قيمة الz تساوي (1) ,إذا كانت قيمة x أو y أو كلاهما تساوي (1),وهذا يتضح
في أول ثلاث خانات ,أما في الخانة الأخيرة فإن قيمة كل من ال x وy تساوي(0) لذلك قيمة
الz تساوي أيضا(0).
أو المقصورةbitwise XOR
تعمل عمل أو مع اختلاف بسيط وهو أن الشرط
يتحقق في حالتين فقط بدلا من ثلاث وهما ,إذا كانت قيمة x أو قيمة y تساوي (1) ,أما إذا كانت
قيمتهما معا تساوي (1),لا يتحقق الشرط و نري ذلك في الجدول التالي:
|
x |
y |
z |
|
1 |
1 |
1 |
|
1 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
0 |
0 |
ويتضح عمل (أو المقصورة) في أول خانتين فقط.
مثال:
var x:Boolean = true
var y:Boolean = true
var z:Boolean =
false
trace(x ^ y);
trace(x ^ z);
في المثال السابق وضعنا trueبدلا من (1) و false بدلا من (0),فيكون الناتج الذي
يظهر في نافذة output هو :
0
1
لأن من الجدول الثاني نجد أن ناتج true مع true هو false (وهذا هو الاختلاف الوحيد بين أو المقصورة و أو)
و ناتجtrue مع false هو true
وبالطبع ناتج false مع false هو false .
*************************